Streaming live or prerecorded video to client devices such as set-top boxes, computers, smartphones, mobile devices, tablet computers, gaming consoles, and other devices over networks such as the internet has become increasingly popular. Delivery of such video commonly relies on adaptive bitrate streaming technologies such as HTTP Live Streaming (HLS), HTTP Dynamic Streaming (HDS), Smooth Streaming, and MPEG-DASH.
Service providers, content owners and distributors, or other entities can place rules or restrictions on videos being delivered with adaptive bitrate streaming. In some cases rules set by entities can be playback controls that disable one or more types of trick plays during playback of a video, such as pausing, rewinding, fast-forwarding, or skipping to specific points in the video. For example, a content provider can use such rules to instruct client devices to prevent users from skipping past advertisements that have been inserted into a video. In other cases rules set by entities can be output controls that prevent users from outputting decoded video to other devices in one or more ways. Many client devices have HDMI-out ports or other video-out ports through which video from the client device can be passed to another device or screen. Similarly, many client devices offer methods of mirroring or casting images displayed on their screens to other displays. Outputting decoded video to other devices can increase the risk of unauthorized copying of the video. As such, a content provider can set rules instructing client devices to disable options for outputting decoded video to other devices.
While in some cases entities can set rules for a video that apply broadly to all users and/or client devices, in other cases entities can set targeted rules that apply to specific categories of client devices. Targeted rules can apply to specific types of client devices, client devices in specific geographic areas, client devices associated with specific user accounts, or that meet any other criteria. For example, an entity may want to allow set-top boxes to output decoded video over an HDMI cable to a television or other display, but want to restrict smartphones from wirelessly mirroring playback of that same decoded video to a separate display.
What is needed is a system and method of communicating applicable playback controls and/or output controls to individual client devices playing video via adaptive bitrate streaming.